﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Premiere.DTO;
using Premiere.Framework;
using Premiere.Window;
using System.Collections;

namespace PremiereMX
{
    public interface IUserControlGeneralSetUp : IUserControlBase
    {
        bool AllowMinus { get; set; }
        CurrencyDTO BaseCurrency { get; set; }
        bool ChangeLatestPurchasePrice { get; set; }
        string CompanyAddress { get; set; }
        string CompanyCity { get; set; }
        string CompanyEmail { get; set; }
        string CompanyFax { get; set; }
        string CompName { get; set; }
        string CompanyPhone { get; set; }
        DateTime CompanyRegDate { get; set; }
        string CompanyTax { get; set; }
        string CompanyWebsite { get; set; }
        string ComputerName { set; }
        CostMethod CostMethod { get; set; }
        bool CustomerCategory { get; set; }
        bool CustomerCategory1 { get; set; }
        string CustomerCategory1ColumnName { get; set; }
        bool CustomerCategory2 { get; set; }
        string CustomerCategory2ColumnName { get; set; }
        bool CustomerCategory3 { get; set; }
        string CustomerCategory3ColumnName { get; set; }
        DTOToString CustomerToString { get; set; }
        bool DuplicatePartWarning { get; set; }
        CurrencyDTO ExchangeRateCurrency { get; set; }
        bool HaveCashierInTransaction { get; set; }
        DateTime LastUpdate { set; }
        bool MinusStockWarning { get; set; }
        bool MultiDivision { get; set; }
        bool MultiWarehouse { get; set; }
        bool PartCategory { get; set; }
        bool PartCategory1 { get; set; }
        string PartCategory1ColumnName { get; set; }
        bool PartCategory2 { get; set; }
        string PartCategory2ColumnName { get; set; }
        bool PartCategory3 { get; set; }
        string PartCategory3ColumnName { get; set; }
        bool PartCurrencyControl { get; set; }
        DTOToString PartToString { get; set; }
        bool PurchaseBonus { get; set; }
        bool PurchaseDiscountAmountByPart { get; set; }
        bool PurchaseDiscountAmountByTotal { get; set; }
        bool PurchaseDiscountPercentByPart { get; set; }
        bool PurchaseDiscountPercentByTotal { get; set; }
        bool PurchaseOtherAmount { get; set; }
        bool PurchaseTax { get; set; }
        bool SalesBonus { get; set; }
        bool SalesDiscountAmountByPart { get; set; }
        bool SalesDiscountAmountByTotal { get; set; }
        bool SalesDiscountPercentByPart { get; set; }
        bool SalesDiscountPercentByTotal { get; set; }
        bool SalesOtherAmount { get; set; }
        bool SalesTax { get; set; }
        PeriodDTO StartEntryPeriod { get; set; }
        bool SupplierCategory { get; set; }
        bool SupplierCategory1 { get; set; }
        string SupplierCategory1ColumnName { get; set; }
        bool SupplierCategory2 { get; set; }
        string SupplierCategory2ColumnName { get; set; }
        bool SupplierCategory3 { get; set; }
        string SupplierCategory3ColumnName { get; set; }
        string UserName {set; }

        void SetButtonEditMode(EditMode editMode);
        void SetToReadOnly(bool ro);
        void ShowMessage(string mess);

        void AddAutoNumberSetup(AutoNumberSetupDTO adto);
        IList UpdateAutoNumberItems();
    }
}
